//
// Created by wxd on 2025/9/11.
//

#include "PhongMaterial.h"

std::string PhongMaterial::uCameraPos = "uCameraPos";
std::string PhongMaterial::uDiffuseTexture = "uDiffuseTex";
std::string PhongMaterial::uSpecularTexture = "uSpecTex";
std::string PhongMaterial::uShininess = "uShininess";

void PhongMaterial::setShininess(float shininess) {
    mShininess = shininess;
}

void PhongMaterial::setDiffuseTexture(std::unique_ptr<Texture> texture) {
    mDiffuseTexture = std::move(texture);
}

float PhongMaterial::getShininess() const {
    return mShininess;
}

Texture *PhongMaterial::getDiffuseTexture() const {
    return mDiffuseTexture.get();
}

void PhongMaterial::setSpecularTexture(std::unique_ptr<Texture> texture) {
    mSpecularTexture = std::move(texture);
}

Texture *PhongMaterial::getSpecularTexture() const {
    return mSpecularTexture.get();
}

void PhongMaterial::setEnableSpecularMask(bool enable) {
    mEnableSpecularMask = enable;
}

bool PhongMaterial::getEnableSpecularMask() const {
    return mEnableSpecularMask;
}